[IA64] VTi: add pseudo support of long format VHPT
authorawilliam@xenbuild.aw <awilliam@xenbuild.aw>
Thu, 13 Apr 2006 20:08:30 +0000 (14:08 -0600)
committerawilliam@xenbuild.aw <awilliam@xenbuild.aw>
Thu, 13 Apr 2006 20:08:30 +0000 (14:08 -0600)
Pseudo support of VHPT long format.

Signed-off-by: Tristan Gingold <tristan.gingold@bull.net>
xen/arch/ia64/vmx/vmmu.c

index 8a3b140e6c08eb48f9d84a01ba74ef27169bd6d8..bafdde2807088f070c423c3116e3e80069bb2e04 100644 (file)
@@ -523,8 +523,8 @@ IA64FAULT vmx_vcpu_thash(VCPU *vcpu, UINT64 vadr, UINT64 *pval)
     vmx_vcpu_get_pta(vcpu, &vpta.val);
     vcpu_get_rr(vcpu, vadr, &vrr.rrval);
     if(vpta.vf){
-        panic("THASH,Don't support long format VHPT");
         *pval = ia64_call_vsa(PAL_VPS_THASH,vadr,vrr.rrval,vpta.val,0,0,0,0);
+        *pval = vpta.val & ~0xffff;
     }else{
         vhpt_offset=((vadr>>vrr.ps)<<3)&((1UL<<(vpta.size))-1);
         *pval = (vadr&VRN_MASK)|
@@ -542,7 +542,6 @@ IA64FAULT vmx_vcpu_ttag(VCPU *vcpu, UINT64 vadr, UINT64 *pval)
     vmx_vcpu_get_pta(vcpu, &vpta.val);
     vcpu_get_rr(vcpu, vadr, &vrr.rrval);
     if(vpta.vf){
-        panic("THASH,Don't support long format VHPT");
         *pval = ia64_call_vsa(PAL_VPS_TTAG,vadr,vrr.rrval,0,0,0,0,0);
     }else{
         *pval = 1;